#ifndef _WINDOW_CURSOR_H_
#define _WINDOW_CURSOR_H_

#include "part2d/part2d.h"
#include "ui/ui_widget.h"
#include "num/named_set.h"

class WindowCursor
{
public:
	WindowCursor();
	virtual ~WindowCursor();

	static WindowCursor&	Instance();

	void				Tick(float dt);
	void				Render();

	void				SetCursor(const std::string& Name, bool Force = false);
	void				RefreshCursor();

protected:
	struct	CursorData
	{
		std::string				Name;
		HCURSOR					Cursor;
	};
	CursorData*					m_pCurrent;
	num::NamedSet<CursorData*>	m_Cursors;
};

#endif //_WINDOW_CURSOR_H_
